Event data, such as event data in high velocity flows of data from real-time sources, such as sensors, often include data from recurring events. “Recurring events,” as used herein, refer to events with an identical event type that occur again after an interval of time has elapsed. For example, a recurring event may involve the geolocation data of a user's smartphone, where such data is generated every second.
These recurring events may be detected by a computing device (e.g., smartphone) via a sensor (e.g., wearable sensor) and then transmitted to an event processing device to be processed. After processing the event, a notification of the event is sent to the computing device. For example, geolocation events from the computing device may be transmitted and processed by the event processing device to determine if the computing device entered a location, such as a retail store. Once it is determined that the computing device entered the location, a notification is generated, such as to notify the user of the computing device that a sales promotion is available in the retail location.
However, due to the huge volume of events generated and processed, especially in the era of Internet of Things (IoT), where IoT application architectures rely on recurring event analytics for notifications, a significant amount of computational and power resources are being utilized for detecting and transmitting events as well as for processing events and transmitting notifications.
However, there are situations when it is no longer necessary to transmit a recurring event (e.g., geolocation event) to the event processing device, such as after the user of the computing device has received a sales promotion available at the retail location entered by the user. Unfortunately, such recurring events continue to be transmitted to the event processing device. If, however, such recurring events that are no longer necessary to be transmitted, could be prevented from being transmitted to and processed by the event processing device, then a reduction in network transmission could occur thereby providing a reduction in bandwidth utilization as well as a reduction in the computation and power resources utilized by the computing device and the event processing device.
Unfortunately, there is not currently a means for effectively preventing recurring events that are no longer necessary to be processed by the event processing device from being transmitted to the event processing device.